<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, height=device-height">
  <title>Example: browser-legacy-basic-resolver</title>
</head>
<body style="white-space: pre">
<script src="https://cdn.jsdelivr.net/gh/nextapps-de/flexsearch@0.8.2/dist/flexsearch.bundle.min.js"></script>
<script>

  // create a simple index which can store id-content-pairs
  const index = new FlexSearch.Index({
    tokenize: "forward"
  });

  // some test data
  const data = [
    'cats abcd efgh ijkl dogs pigs rats cute',
    'cats abcd efgh ijkl dogs pigs cute',
    'cats abcd efgh ijkl dogs cute',
    'cats abcd efgh ijkl cute',
    'cats abcd efgh cute',
    'cats abcd cute',
    'cats cute'
  ];

  // add data to the index
  data.forEach((item, id) => {
    index.add(id, item);
  });

  // perform query
  const result = new FlexSearch.Resolver({
    index: index,
    query: "black"
  })
  .or({
    index: index,
    query: "cute"
  })
  .and([{
    index: index,
    query: "dog"
  },{
    index: index,
    query: "cat"
  }])
  .not({
    index: index,
    query: "rat"
  })
  .resolve();

  // display results
  result.forEach(i => {
    console.log(data[i]);
    log(data[i]);
  });

  function log(str){
    document.body.appendChild(
      document.createTextNode(str + "\n")
    );
  }
</script>
</body>
</html>